The present invention is directed generally to asynchronous data transfer, and more particularly, to a dynamically and continuously-variable rate asynchronous data transfer, such as for use in an electronic blasting system.
In the prior art electronic blasting systems, the rate of communication between the blasting machine and the detonators has been fixed (by hardware and/or software) at both the transmitter and receiver portions, thus precluding a change to the communication rate if so desired to accomplish or optimize data transmission. On the other had, synchronous systems, e.g., Philips semiconductors' “I2C bus,” are known, but such systems of course require a separate dedicated clock line, adding to complexity and cost of the resulting system.
It is also known for a slave device(s) to use the falling edge of a signal from the master device to synchronize the slave device(s)' internal timing circuitry based on time-slotting, as for example in Maxim's “1-wire” system. However, in this system, the maximum transfer rate is limited to 16.666 kHz baud. Finally, the Universal Serial Bus protocol (USB) utilizes an initial 8-bit synchronization portion in a serial data packet, but USB is only bi-modal and is not capable of synchronization over a continuous range of communication rates. In other words, the synchronization portion simply causes the receiving device to select one of two modes—low speed or high speed (1.5 Mbit/s and 12 Mbit/s under USB1.1 specifications), and there is no allowance to vary or deviate from these set rates. USB also does not contain any subsequent synchronization bits that are conveyed “mid-stream” within a serial packet, so it does not permit the accommodation of any timing skew that could occur in lengthy packets. Timing skew within packets can be particularly problematic under various system conditions such as excessive capacitance loading or varying line voltages or current levels.